Home media network

ABSTRACT

According to one embodiment, a method is described. The method includes receiving a request at a control module from a first remote device to access media data from a storage management module and determining that a first user is requesting access to the data based upon a first remote identification (ID). The method further includes opening a second stream between the playback module and the storage management module and receiving the data at the playback module.

COPYRIGHT NOTICE

[0001] Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.

FIELD OF THE INVENTION

[0002] This invention relates generally to the field of network transaction services. More particularly, the invention relates to a method and apparatus for performing services on a home-based media network.

BACKGROUND

[0003] A typical household contains several home media devices. As used in this document, the term “home media device” encompasses electronics devices that are typically found in the home. Examples of home media devices may include such electronic devices as televisions, personal computers, video disc recorders (VDRs), digital video discs (DVDs), stereo equipment, and digital satellite services (DSS), etc.

[0004] However, a problem exists with home media devices such that each individual device is only capable of being used in one room of the home. For example, multiple televisions throughout a home typically cannot receive content from a DSS without supplying additional DSS set-top boxes for each television, or providing cable feeds to the additional televisions. Installing a set-top box at every television in the home is expensive. In addition, installing medium to high quality audio/video distribution is often expensive and time consuming. Therefore, what is desired is a method and apparatus for distributing electronic media from various home media devices throughout a home.

SUMMARY

[0005] According to one embodiment, a home media network is described. The home media network includes a first device configured to acquire and store digital media content, a transmission medium coupled to the first device and a second device coupled to the transmission medium. The second device is configured to determine that a first network user is requesting to access digital media content based upon a first remote identification (ID) corresponding to the first network user.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.

[0007]FIG. 1 illustrates one embodiment of exemplary network architecture;

[0008]FIG. 2 illustrates one embodiment of home network architecture;

[0009]FIG. 3 is a block diagram of one embodiment of exemplary computer architecture;

[0010]FIG. 4 is a block diagram of one embodiment of a control/playback set-top box;

[0011]FIG. 5 is a block diagram of one embodiment of a media control module;

[0012]FIG. 6 is a block diagram of one embodiment of a media playback module;

[0013]FIG. 7 is a block diagram of one embodiment of an acquisition/storage set-top box;

[0014]FIG. 8 is a block diagram of one embodiment of a storage management module;

[0015]FIG. 9 is a block diagram of one embodiment of a media acquisition module;

[0016]FIG. 10 is a flow diagram for one embodiment of playing a media object within a home network; and

[0017]FIG. 11 is a flow diagram for one embodiment of acquiring a media object at a home network.

DETAILED DESCRIPTION

[0018] In the following description, numerous details are set forth. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

[0019] Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

[0020] Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

[0021] The displays presented herein are not inherently related to any particular computer or other systems. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized systems to perform the required methods. The required structure for a variety of these systems will be apparent from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

[0022] The instructions of the programming language(s) may be executed by one or more processing devices (e.g., processors, controllers, central processing units (CPUs), execution cores, etc.).

[0023] Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).

Exemplary Network Architecture

[0024]FIG. 1 illustrates one embodiment of a system 100. System 100 includes network 110, a content server 120, and one or more customer networks 130. The teachings disclosed herein might be applied to various networks, data and document storage and archival facilities, or other types of client/server systems that have documents or other information available upon request.

[0025] According to one embodiment, server 120 is coupled to network 110 and is able to respond to requests from clients 130 via network 110. In one embodiment, the received requests are associated with the Internet (or World Wide Web (the WWW)). In such an embodiment, the servers act as inter-networked communications systems (e.g., WWW servers). That is, servers are directly coupled to a local area network (LAN) or wide area network (WAN) and “serve” data, such as images or other multi-media objects that they capture or create to the clients. Alternative communication channels such as wireless communication via satellite broadcast (not shown) are also contemplated within the scope of the present invention.

[0026] Content server 120 is accessible in order to provide digital content downloads to customer networks 130. In one embodiment, content server 120 is adaptable to transmit digital movies and digital music to customer networks 130 for on demand access. In another embodiment, customer networks 130 select from an authentication and payment mechanism that enables Pay-Per-View/Listen, Pay-Per-Download or content rental. In a further embodiment, content server 120 is adaptable to transmit news and informational videos (e.g., news, sports or other footage) to customer networks 130. In a further embodiment, content server 120 may be configured to manage the distribution of user created content between multiple customer networks 130. In yet another embodiment, server 120 is adaptable to transmit software upgrades to customer networks 130.

[0027] According to one embodiment, server 120 may include a database for storing various types of data. The database may include, for example, specific client data (e.g., client account information and client preferences) and/or more general data. The database on server 120 in one embodiment runs an instance of a Relational Database Management System (RDBMS), such as Microsoft™ SQL-Server, Oracle™ or the like.

[0028] Customer networks 130 may interact with and receive feedback from server 120, and each other, using various different communication devices and/or protocols. According to one embodiment, a network 130 connects to content server 120 and other networks 130 via client software. The client software may include a browser application such as Netscape Navigator™ or Microsoft Internet Explorer™ on which the client communicates to the server and/or a data center via the Hypertext Transfer Protocol (hereinafter “HTTP”).

Exemplary Home Network Architecture

[0029]FIG. 2 illustrates one embodiment of customer network 130. According to one embodiment, customer network 130 comprises a home network. The home network includes a personal computer (PC) 210, an acquisition/storage set-top box 220, control/-playback set-top boxes 230 and 240, a device interface 250 and a personal digital assistant (PDA) 260 all coupled via a data transmission medium 200. Further, display devices 235 and 245 are coupled to set-top boxes 230 and 240, respectively. In addition, audio devices 237 and 247 are coupled to set-top boxes 230 and 240, respectively. In one embodiment, display devices 235 and 245 are televisions and the audio devices are AM/FM stereos. However, one of ordinary skill in the art will appreciate that the display devices (e.g., LCD) and audio devices (e.g., speakers) may be implemented using other types of devices.

[0030] According to one embodiment, digital data content objects are transmitted from one device within the home network to the other devices via transmission medium 200. The objects may be, for example, data files, executables, or other digital objects. In one embodiment, transmission medium 200 is an internal network connection. In a further embodiment, transmission medium 200 may be connected to network 110 via one or more routers (not shown) and switches (not shown). Accordingly, data content may be transmitted from a device in the home network to content server 120 and one or more other customer networks 130 via network 110.

[0031] In one embodiment, PC 210 interacts with and receives feedback from set-top box 220. PC 210 connects to set-top box 120 via client software. As described above, the client software may include a browser such as Netscape Navigator™ or Microsoft Internet Explorer™ on which PC 210 communicates to the servers via HTTP. In a further embodiment, included within the scope of the invention, PC 210 may communicate with set-top box 220 via cellular telephones and other wireless devices and appliances (e.g., in which the necessary transaction software is electronic in a microchip), and/or touch-tone telephones.

[0032] As described above, PC 210 is adaptable to access the contents of set-top box 220. In addition, PDA 260 may also be used to access set-top box 220. For example, PC 210 (or PDA 260) may retrieve a music file from set-top box 220 for audio playback at PC 210. Similarly, PC 210 and PDA 260 may retrieve an image file from set-top box 220 for display. In a further embodiment, PC 210 may transmit files to set-top box 220 for storage and playback at home media devices coupled to set-top box 220.

[0033] Moreover, PC 210 and PDA 260 may be used to organize digital content stored at set-top box 220. For example, a user at PC 210 may access a user play list stored in set-top box 220. Upon accessing the play list, the user may add, delete or reorganize the music files stored within set-top box 220. In a further embodiment, the user can control the playing of music files within set-top box 220. In such an embodiment, set-top box 220 may be playing audio files from a particular music play list in a predetermined order. As the music files are played, set-top box 220 is adaptable to transmit the music to PC 210, set-top boxes 230 and 240 and/or PDA 260. The user at PC 210 may not wish to hear the next song in the play list, and therefore, may stop the playing audio of the current file being played and select another file in the play list for playback.

[0034] Set-top box 220 is implemented to acquire, and store digital content. In addition set-top box 220 is adaptable to organize and manage the content once the content has been acquired. According to one embodiment, set-top box 220 acquires content from content server 120 (or other servers) via network 110. In a further embodiment, set-top box 220 receives commands from peer devices (e.g., PC 210, set-top boxes 230 and 240, PDA 260, etc.) to access the content stored at set-top box 220. In such an embodiment, the content stored at set-top box 220 may be played back at various peer devices throughout a user's home upon user demand. For example, stored video, music and/or image data may be presented to one or more users at display devices 235 and 245, audio devices 237 and 247 and PDA 260. In addition, as described above, set-top box 220 may receive commands from PC 210 to access music files and play lists stored at set-top box 220.

[0035] According to one embodiment, set-top box 220 may distribute content received from media devices throughout the user's home. In a further embodiment, the content may be accessed from any display device or stereo system within the home. According to yet a further embodiment, set-top box 220 serves multiple users in the home. In such an embodiment, set-top box 220 may simultaneously perform different sessions for each user with no overlap or interference. The multi-session, multi-user applications of set-top box 220 will be described below in further detail.

[0036] Set-top boxes 230 and 240 perform control and playback functions similar to PC 210 and PDA 260. In particular, set-top boxes 230 and 240 are used to control the retrieval of data from set-top box 220 via transmission medium 200 in order to play the media data. Data received at set-top box 230 or 240 is transmitted to its respective display device (or audio device) for presentation of the content to the user. In one embodiment, set-top boxes 230 and 240 are remotely located from set-top box 220. However, in other embodiments, set-top box 230 and/or 240 may be incorporated into set-top box 220 or located adjacent to set-top box 220. In such embodiments, set-top boxes 230 and 240 (or associated device logic) are coupled to the respective display devices via an analog network and to audio devices 237 and 247 via radio frequency.

[0037] Device interface 250 interfaces, under the control of set-top box 220, one or more digital devices 255 to transmission medium 200 in order to transmit digital media data to set-top boxes 230 and 240, and/or audio devices 237 and 247. According to one embodiment, device interface 250 includes a decoder (e.g., a Motion Picture Expert Group (MPEG) decoder) in order to decode the digital data received from a digital device for transmission via transmission medium 200. In a further embodiment, device interface 250 is adaptable to translate infrared remote signal commands to commands that are recognized by a digital device 255. As a result a user operating a set-top box 230 or 240 may remotely control the operation of a digital device 255. According to one embodiment, digital device 255 is a digital video disk (DVD). However, in other embodiments, digital device 255 may be implemented using other digital devices (e.g., compact disc or digital cable set-top box).

[0038] In yet another embodiment, set-top box 220 may acquire digital content from a digital device 255 via device interface 250. For example, set-top box 220 may extract and save music files from a compact disc (CD) being played by a CD player coupled to set-top box 220. In a further embodiment, upon extracting each music file, set-top box 220 transmits the identification information for each song to content server 120 for automatic information lookup. Content server 120 searches a database for the corresponding information.

[0039] Subsequently, content server 120 transmits identification information that is stored as a component of each song file. The identification information may include, for example, a music artist's name, CD title and the title for each song on the CD. According to another embodiment, set-top box 220 may store digital images from a digital camera coupled to set-top box 220. In such an embodiment, a user accessing a display device may organize the stored image data into a photo album.

[0040] According to a further embodiment, each device in the home network includes a discovery mechanism. The discovery mechanism enables each of the devices on the home network, and between multiple home networks, to identify the other devices and determine the capabilities of such devices without a management network (e.g., no requirement for server names and IP addresses be known). For example, set-top box 220 may identify personal computer 210 using the discovery mechanism.

[0041] According to one embodiment, devices attached to the home network announce their presence via a User Datagram Protocol (UDP) Multicast packet when they are powered up. All other devices previously coupled to the network receives this packet and recognizes that the device is on the network and is capable of continuing communication. Similarly, any device coupled to the home network is able to transmit a discovery request packet. All other devices on the network that wish to be found will respond to the discovery request packet.

Exemplary Architectures of Peer Devices

[0042]FIG. 4 is a block diagram of one embodiment of a control/playback device 400. A control/playback device may comprise PC 210, set-top boxes 230 and 240, and PDA 260. In one embodiment, device 400 includes a media playback module 420 and a media control module 450. Media control module 450 controls the playback of media content at a particular device 400 (not necessarily itself). FIG. 5 is a block diagram of one embodiment of a control module 450. Control module 450 includes remote control input/output (I/O) 530, input abstraction 540, user interface (UI) renderer 550, application infrastructure 560 and applications 570.

[0043] Remote I/O 530 receives data input from a remote control. According to one embodiment, each user of the home network uses a different remote control device wherein each device has a unique identification (remote ID). Upon the remote ID being received by remote control I/O 530, the client device determines which user of the home network is making the request. The user information is subsequently transmitted to set-top box 220. Set-top box 220 analyzes the user information in determining whether the particular user has access to the particular media data that has been requested.

[0044] One application of remote IDs is an example where a user at a set-top box attempts to access the personal media files of another user. After remote control I/O 530 has determined the user requesting access and the user identity is transmitted to set-top box 220, set-top box 220 determines that the user requesting access is not the owner of the media files being requested. At this point set-top box 220 may grant access depending upon the owner user's access configuration. In another embodiment, parental controls may be implemented so that minor users may not access explicit content, whether the content be audio or video media. For example, after the client device has identified the user, set-top box 220 may determine that the user is a minor and prevent the video or music file from being delivered to the client device.

[0045] Input abstraction 540 provides an interface to an application 570 and a media player at media playback module 420 in order to interpret user actions via remote control, keyboard or any other type of input device. UI renderer 550 renders the client device user interface on to a display device. Application infrastructure 560 interfaces control module 450 with the operating system running on the device 400. Applications 570 comprise the media applications that operate on the client device. For example, applications 495 may include an application that enables a client device user to view a photograph album.

[0046] Referring back to FIG. 4, playback module 420 controls the interface between the device 400 and connected display and/or audio devices. FIG. 6 is a block diagram of one embodiment of a media playback module 420. Media playback module 420 includes a frame buffer 610, a MPEG decoder 620, a video abstraction 650, a media player 670 and a media access API 690

[0047] Frame buffer 610 is an area of memory that is used to hold a frame of data. According to one embodiment, frame buffer 610 is used for display device display and is the size of the maximum image area on the display device 235 and 245 screen. Frame buffer 610 holds a bitmapped image while it is being “painted” on a display device. MPEG decoder 620 decompresses MPEG data into viewable form that may be displayed at a display device.

[0048] Video abstraction 650 provides hardware support for decode and video display to be transparent. Media player 670 is used to execute audio, video and animation files received from set-top box 220. Media API 690 enables a control/playback set-top box 230 to communicate with other peer devices (e.g., the storage/management component of storage/acquisition set-top box 220). In particular, media API 690 is the mechanism by which other components can connect to playback module 420 and control it.

[0049]FIG. 7 is a block diagram of one embodiment of set-top box 220. Set-top box 220 also includes a media playback module 420 and a media control module 450. Media playback module 420 and a media control module 450 include the same components as described above. In embodiments where set-top box 220 includes media playback module 420 and a media control module, the display and audio devices may be coupled directly to set-top box 220 or via various analog connections. However, one of ordinary skill in the art will appreciate that set-top box 220 may be implemented without media playback module 420 and media control module 450.

[0050] In addition, set-top box 220 includes a storage management module 700 and a media acquisition module 750. Storage management module 700 stores and manages media as well as enforcing business rules associated with the media objects. For example, storage management module 700 is responsible for cataloging incoming media objects into a catalog that is specific by media type in order to create a particular media experience. By authenticating the devices 400 that connect to storage management module 700, storage management module 700 can ensure that both sensitive materials are protected and copyright and usage rules dictated by the media creator or distributor are ensured. Further, storage management module 700 is also responsible for ensuring any transactions that are to be performed on use are performed before use.

[0051]FIG. 8 is a block diagram of one embodiment of storage management module 700. Storage management module 700 includes a server application program interface (API) 810, business objects 820, media database 830, storage API 840, database API 850, relational database 860 and storage 870. Server API 810 allows other network entities (e.g., business objects 620) to find and communicate with storage management module 700. Business objects 820 abstract data and provide logic about enforcing business rules, digital rights management, etc. Media database 830 is a collection of media objects organized in such a way that set-top box 220 can quickly select a desired object.

[0052] Storage API 840 is a control program that interfaces with storage 870 and abstracts the storage location. Database API 850 is a control program such as a database management system that interfaces with relational database 860. According to one embodiment, database API 850 is a collection of programs that enables the entering, organization, and selection of data in relational database 860. Relational database 860 provides relationships between media files that are created by comparing data. Storage 870 provides for the storage of media data.

[0053] Referring back to FIG. 7, media acquisition module 750 acquires media content from data sources (e.g., content server 120) on network 110. FIG. 9 is a block diagram of one embodiment of media acquisition module 750. Media acquisition module 750 includes API 910, content acquisition 920, code update 930, extensible markup language (XML) messaging 940 and HTTP communication 950. API 910 interfaces set-top box 220 with a client device such as set-top boxes 230 and 240.

[0054] Content acquisition 920 makes media storage management module 700 aware of new media available at content server 120. Content acquisition 920 is configured to retrieve media content from content providers such as content server 120 through the Internet. In particular, content acquisition 920 connects to the providers and retrieves content that the users have either requested or that matches the profile that they system has been built for the users.

[0055] Code update 730 enables components within the home network to retrieve updated software from content server 120. XML messaging 740 transmits and receives messages to/from other components within the home network. According to one embodiment, messages are encoded in XML to enable handling in a platform independent manner. HTTP communication 750 embeds the XML messages into a HTTP format to enable the messages to be transparently transmitted through proxy servers and firewalls connected to network 110.

System Operation

[0056] Although the present event system will be discussed with reference to various illustrated examples, these examples should not be read to limit the broader spirit and scope of the present invention. FIG. 10 is a flow diagram for one embodiment of the operation of playing a media object within the home network. At processing block 1010, a user accessing a device 400 (e.g., PC 210, set-top box 230, etc.), or set-top box 220 in applications where set-top box 220 includes control and playback functionality, requests to access to a media object while viewing a display device or listening to an audio device. As described above, the user access is implemented via a personal remote control.

[0057] At processing block 1020, the request is received at remote control I/O 640 within the control module 450 of the device 400. Remote control I/O 530 extracts the remote ID from the request. Subsequently, the device 400 determines the user that is making the request. According to one embodiment, the client device determines the requesting user by accessing an index table. The index table associates each remote ID to a user.

[0058] At processing block 1030, the request is processed by application infrastructure 560. According to one embodiment, application infrastructure 560 determines whether the user making the request is authorized to receive the media object. If the requesting user is authorized, media control module 450 finds storage management module 700 and searches for the media object at process block 1040. After the media object is found, control module 450 finds media playback module 420 and gives playback module 420 the storage information for the media object, process block 1050. At process block 1060, playback module 420 opens a data stream with storage management module 700. At process block 1070, the media object is transmitted to playback module 420. At processing block 1080, playback module 420 presents the media object to the user via a display device or audio device.

[0059]FIG. 11 is a flow diagram for one embodiment of acquiring a media object at a home network. At process block 1110, content acquisition 920 within media acquisition module 750 initiates a search of a server (e.g., content server 120) on network 110 in order to find one or more desired media objects using XML messaging 940 and HTTP communication 950. In one embodiment, the search is initiated directly by a user via media control module 450. Alternatively, content acquisition 920 is configured to periodically search servers on network 110 based upon a user profile.

[0060] Once the media objects are found, media acquisition module 750 finds storage management module 700 at process block 1120. At process block 1130, a data stream is opened between the server and storage management module 700. At process block 1140, the media object is transmitted to storage management module 700. At processing block 1150, the data is stored at storage management module 700.

Exemplary Computer Architecture

[0061] Having described an exemplary network architecture that employs various elements of the present invention, a computer system 300 representing exemplary PC 210 and/or set-top boxes 220, 230 and 240 in which elements of the present invention may be implemented will now be described with reference to FIG. 3.

[0062] One embodiment of computer system 300 includes a system bus 320 for communicating information, and a processor 310 coupled to bus 320 for processing information. Computer system 300 further comprises a random access memory (RAM) or other dynamic storage device 325 (referred to herein as main memory), coupled to bus 320 for storing information and instructions to be executed by processor 310. Main memory 325 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 310. Computer system 300 also may include a read only memory (ROM) and/or other static storage device 326 coupled to bus 320 for storing static information and instructions used by processor 310.

[0063] A data storage device 327 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 300 for storing information and instructions. Computer system 300 can also be coupled to a second I/O bus 350 via an I/O interface 330. A plurality of I/O devices may be coupled to I/O bus 350, including a display device 343, an input device (e.g., an alphanumeric input device 342 and/or a cursor control device 341). The communication device 340 is for accessing other computers (servers or clients) via network 110 and/or transmission medium 200. The communication device 340 may comprise a modem, a network interface card, or other well-known interface device, such as those used for coupling to Ethernet, token ring, or other types of networks.

[0064] Whereas many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that any particular embodiment shown and described by way of illustration is in no way intended to be considered limiting. Therefore, references to details of various embodiments are not intended to limit the scope of the claims which in themselves recite only those features regarded as the invention. 

What is claimed is:
 1. A home media network comprising: a first device configured to acquire and store digital media content; a transmission medium coupled to the first device; and a second device coupled to the transmission medium, wherein the second device is configured to control the playback and display of the digital media content.
 2. The home media network of claim 1 wherein the second device is configured to determine that a first network user is requesting to access digital media content stored at the first device based upon a first remote identification (ID) corresponding to the first network user.
 3. The home media network of claim 2 wherein the second device is configured to determine that a second network user is requesting to access digital media content based upon a second remote identification (ID) corresponding to the second network user.
 4. The home media network of claim 2 further comprising a third device coupled to the transmission medium, wherein the third device is configured to determine that the first network user is requesting to access digital media content based upon the first remote ID corresponding to the first network user.
 5. The home media network of claim 4 wherein the first, second and third devices are set-top boxes.
 6. The home media network of claim 4 wherein the first and second devices are set-top boxes and the third device is a personal digital assistant (PDA).
 7. The home media network of claim 4 wherein the first and second devices are set-top boxes and the third device is a personal computer.
 8. The home media network of claim 1 further comprising: a display device coupled to the second device; and an audio device coupled to the second device.
 9. The home media network of claim 8 further comprising: a device interface coupled to the transmission medium; and a digital device coupled to the device interface.
 10. The home media network of claim 9 wherein the digital device a digital video disk (DVD).
 11. The home media network of claim 1 wherein the first device comprises: a media acquisition module configured to acquire digital media content from a source coupled to an external network; and a storage management module configured to catalog digital media content received from the media acquisition module.
 12. The home media network of claim 11 wherein the storage management module comprises: an application program interface (API); a business objects module; a storage API; a database API; and a relational database.
 13. The home media network of claim 11 wherein the media acquisition module comprises: an application program interface (API); a content acquisition module; and a code update module.
 14. The home media network of claim 11 wherein the first device further comprises: a media playback module; and a media control module.
 15. The home media network of claim 14 wherein the media playback module comprises: a frame buffer; a video decoder; a video abstraction module; a media player; and an application program interface (API).
 16. The home media network of claim 14 wherein the first client device further comprises: an input abstraction module; a user interface renderer; remote control input/output (I/O); an application infrastructure; and one or more applications.
 17. The home media network of claim 1 wherein the second device comprises: a media playback module; and a media control module.
 18. The home media network of claim 17 wherein the media playback module comprises: a frame buffer; a video decoder; a video abstraction module; a media player; and an application program interface (API).
 19. The home media network of claim 17 wherein the first client device further comprises: an input abstraction module; a user interface renderer; remote control input/output (I/O); an application infrastructure; and one or more applications.
 20. A method comprising: receiving a request at a control module from a first remote device to access media data from a storage management module; determining at the control module that a first user is requesting access to the data based upon a first remote identification (ID); opening a data stream between a playback module and the storage management module; and receiving the data at the playback module.
 21. The method of claim 20 further comprising processing the request at the control module after the request is received at the control module.
 22. The method of claim 20 further comprising: analyzing the user information at the control module in order to determine whether the first user is to be granted access to the data; and accessing a database at the storage management module.
 23. The method of claim 20 further comprising displaying the data at a display device coupled to the playback module.
 24. The method of claim 20 wherein determining that a first user is requesting access to the data based upon a remote ID comprises: receiving remote control data from the first remote control device; extracting the first remote ID from the remote control data; and accessing an index table that correlates the first remote ID with the first user.
 25. The method of claim 20 further comprising: receiving a second request at the control module from a second remote device to access the media data from the storage management module; determining at the control module that a second user is requesting access to the data based upon a second remote ID; opening a second data stream between the playback module and the storage management module; and receiving the data at the playback module.
 26. The method of claim 25 wherein determining that a second user is requesting access to the data based upon a remote ID comprises: receiving remote control data from the second remote control device; extracting the second remote ID from the remote control data; and accessing an index table that correlates the second remote ID with the second user. 